/*
 * maz_drv_gpio.h
 *
 *  Created on: Jun 7, 2020
 *      Author: Paul
 */

#ifndef INC_MAZ_DRV_GPIO_H_
#define INC_MAZ_DRV_GPIO_H_

#include "maz_drv.h"

#define MAZDRV_GPIO_DCMD_ENABLE         MENABLE

typedef struct _MAZDRV_GPIO_CFG_
{
    GPIO_TypeDef   *port;               /* GPIOA or GPIOB ... */
    uint32_t        pin;                /* GPIO_PIN_0 or GPIO_PIN_1 ... */
} MAZDRV_GPIO_CFG;

typedef struct _MAZDRV_GPIO_PRIV_
{
    uint32_t reserve[4];
} MAZDRV_GPIO_PRIV;

typedef struct _MAZDRV_GPIO_CTRL_
{
    MAZDRV_GPIO_CFG     cfg;
    MAZDRV_GPIO_PRIV    priv;
} MAZDRV_GPIO_CTRL;

int MAZ_Drv_gpio_init(void);
int MAZ_Drv_gpio_clk_enable(GPIO_TypeDef *port);

#endif /* INC_MAZ_DRV_GPIO_H_ */
